﻿using System.Collections.Generic;
using Tibet.Entidades;
using Tibet;

namespace Tibet.Entidades
{
    /// <summary>
    /// Clase que maneja las instancias de usuarios que sean creados
    /// </summary>
    public class Usuario:Entidad
    {
        private int _idUsuario;
        private string _nombre;
        private string _segundoNombre;
        private string _apellido;
        private string _segundoApellido;
        private string _email;
        private int _status;
        private Credencial _credencial;
        private Rol _rol;

        /// <sumary>
        /// Constructor vacío de la clase
        /// </sumary>
        public Usuario()
        {

        }

        /// <summary>
        /// Constructor de la clase
        /// </summary>
        /// <param name="nombre">Nombre del usuario a crear</param>
        /// <param name="segundoNombre">
        /// Segundo nombre del usuario a crear
        /// </param>
        /// <param name="apellido">Apellido del usuario a crear</param>
        /// <param name="segundoApellido">
        /// Segundo apellido del usuario a crear
        /// </param>
        /// <param name="email">Email del usuario a crear</param>
        /// <param name="status">Status del usuario a crear</param>
        /// <param name="credencial">Credencial del usuario a crear</param>
        /// <param name="rol">Rol del usuario a crear</param>
        public Usuario(string nombre, string segundoNombre, string apellido,
            string segundoApellido, string email, int status,
            Credencial credencial, Rol rol)
        {
            _nombre = nombre;
            _segundoNombre = segundoNombre;
            _apellido = apellido;
            _segundoApellido = segundoApellido;
            _email = email;

            _credencial = credencial;
            _rol = rol;
        }

        /// <summary>
        /// Get y set del atributo _idUsuario
        /// </summary>
        public int IdUsuario
        {
            get { return _idUsuario; }
            set { _idUsuario = value; }
        }

        /// <summary>
        /// Get y set del atributo _nombre
        /// </summary>
        public string Nombre
        {
            get { return _nombre; }
            set { _nombre = value; }
        }

        /// <summary>
        /// Get y set del atributo _segundoNombre
        /// </summary>
        public string SegundoNombre
        {
            get { return _segundoNombre; }
            set { _segundoNombre = value; }
        }

        /// <summary>
        /// Get y set del atributo _apellido
        /// </summary>
        public string Apellido
        {
            get { return _apellido; }
            set { _apellido = value; }
        }

        /// <summary>
        /// Get y set del atributo _segundoApellido
        /// </summary>
        public string SegundoApellido
        {
            get { return _segundoApellido; }
            set { _segundoApellido = value; }
        }

        /// <summary>
        /// Get y set del atributo _email
        /// </summary>
        public string Email
        {
            get { return _email; }
            set { _email = value; }
        }

        /// <summary>
        /// Get y set del atributo _status
        /// </summary>
        public int Status
        {
            get { return _status; }
            set { _status = value; }
        }

        /// <summary>
        /// Get y set del atributo _credencial
        /// </summary>
        public Credencial Credencial
        {
            get { return _credencial; }
            set { _credencial = value; }
        }

        /// <summary>
        /// Get y set del atributo _rol
        /// </summary>
        public Rol Rol
        {
            get { return _rol; }
            set { _rol = value; }
        }

    }
}
